import { getInfo, setInfo } from '@/utils/storage'

export default {
  // 开启命名空间
  namespaced: true,
  // state是提供数据用的
  state () {
    return {
    // 个人权证相关
      userInfo: getInfo()
    }
  },
  // 提供修改数据的方法
  mutations: {
    // 所有mutations方法都接收state作为第一个参数
    setUserInfo (state, obj) {
      state.userInfo = obj
      setInfo(obj)
    }
  },
  // 提供异步操作
  actions: {
    logout (context) {
      // 个人信息要重置
      context.commit('setUserInfo', {})
      // 购物车的信息要重置 跨模块调用mutations方法 cart/setCartList
      // 跨模块调用mutations方法需要使用context.commit('模块名/mutations方法名',参数)
      context.commit('cart/setCartList', [], { root: true })
    }
  },
  // 提供基于state派生出的属性
  getters: {}

}
